博客
关于我
pageHelper分页技术
阅读量:794 次
发布时间:2023-02-26

本文共 2494 字,大约阅读时间需要 8 分钟。

十二,PageHelper分页技术

分页简介

PageHelper 是 MyBatis 中非常方便的第三方分页插件。它能够帮助开发者快速实现分页功能,简化代码编写,同时提供丰富的分页信息,适用于多种分页场景。

分页技术相关名词解释

PageHelper 提供了众多有用的参数和属性来帮助开发者实现分页功能。以下是常见的分页相关参数:

  • pageNum:表示当前页码。
  • pageSize:表示每页的记录数。
  • size:可替代 startRowendRow,用于指定分页的范围。
  • startRowendRow:表示数据库中查询的起始和结束行号。
  • total:表示总记录数。
  • pages:表示总页数。
  • list:查询结果集合。
  • prePagenextPage:表示前一页和下一页的页码。
  • isFirstPageisLastPage:表示是否为第一页或最后一页。
  • hasPreviousPagehasNextPage:表示是否存在前一页或下一页。
  • navigatePages:表示导航页码数。
  • navigatepageNums:表示导航条上的页码数组。
  • navigateFirstPagenavigateLastPage:表示导航条的第一页和最后一页。

使用步骤

  • 导入依赖:在项目的 pom.xml 文件中添加 PageHelper 的依赖。
  • 配置分页插件:根据使用的框架(MyBatis 或 Spring MVC)配置 PageHelper。
    • MyBatis:在全局配置文件中添加 PageHelper 插件。
    • Spring MVC:在 Spring 的配置文件中配置 PageHelper。
  • 使用 PageHelper 进行分页:在查询之前调用 PageHelper.startPage 方法,传入页码和每页大小。
  • 使用 PageInfo 封装结果:PageInfo 类能提供更详细的分页信息,方便前端展示。
  • 具体使用

    实际案例:订单分页查询

    1. 在父项目 pom.xml 中添加依赖

    com.github.pagehelper
    pagehelper
    5.1.2

    2. 配置分页插件

    • MyBatis 全局配置文件
    • Spring MVC 配置文件
    params=value1
    • 控制层代码示例
    @RequestMapping("/emps")@ResponseBodypublic Msg getEmpsWithJson(@RequestParam(value = "pn", defaultValue = "1") Integer pn) {    PageHelper.startPage(pn, 5);    List
    emps = employeeService.getAll(); PageInfo page = new PageInfo(emps, 5); return Msg.success().add("pageInfo", page);}@RequestMapping("/emps")public String getEmps(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) { PageHelper.startPage(pn, 5); List
    emps = employeeService.getAll(); PageInfo page = new PageInfo(emps, 5); model.addAttribute("pageInfo", page); return "list";}

    页面展示示例

    当前 【${pageInfo.pageNum }】 页,总 【${pageInfo.pages }】 页,总 【${pageInfo.total }】 条记录

    MyBatis 后续学习

    • MyBatis 概述
    • MyBatis 配置文件详解
    • MyBatis 事务管理
    • MyBatis 动态 SQL
    • MyBatis 多表查询
    • MyBatis 延迟加载
    • MyBatis 缓存机制
    • MyBatis 注解开发版
    • MyBatis 逆向工程使用

    转载地址:http://djvfk.baihongyu.com/

    你可能感兴趣的文章
    Sql 随机更新一条数据返回更新数据的ID编号
    查看>>
    OSG学习:空间变换节点和开关节点示例
    查看>>
    OSG学习:纹理映射(一)——多重纹理映射
    查看>>
    OSG学习:纹理映射(七)——聚光灯
    查看>>
    OSG学习:纹理映射(三)——立方图纹理映射
    查看>>
    OSG学习:纹理映射(二)——一维/二维/简单立方图纹理映射
    查看>>
    OSG学习:纹理映射(五)——计算纹理坐标
    查看>>
    OSG学习:纹理映射(六)——灯光
    查看>>
    OSG学习:纹理映射(四)——三维纹理映射
    查看>>
    OSG:从源码看Viewer::run() 一
    查看>>
    osi 负载均衡
    查看>>
    OSI七层模型与TCP/IP五层模型(转)
    查看>>
    OSI七层模型与TCP/IP四层与五层模型详解
    查看>>
    OSI七层模型的TCP/IP模型都有哪几层和他们的对应关系?
    查看>>
    OSI操作系统(NETBASE第八课)
    查看>>
    OSM数据如何下载使用(地图数据篇.11)
    查看>>
    OSPF 四种设备角色:IR、ABR、BR、ASBR
    查看>>
    OSPF 四种路由类型:Intra Area、Inter Area、第一、二类外部路由
    查看>>
    OSPF 学习
    查看>>
    OSPF 支持的网络类型:广播、NBMA、P2MP和P2P类型
    查看>>